Storage medium storing a load detecting program and load detecting apparatus

ABSTRACT

A load detecting apparatus includes a load controller. In order to identifying predetermined number of motions performed on the load controller by the player, for example, a condition of a ratio of load values to a body weight value and a condition relating to a position of a center of gravity are defined in advance. The ratio of the detected load values to the body weight value and the position of the center of gravity are calculated, and on the basis of the ratio and the position of the center of gravity, a motion performed on the load controller by the player is determined.

CROSS REFERENCE OF RELATED APPLICATION

The disclosure of Japanese Patent Application No. 2007-263804 isincorporated herein by reference.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The invention relates to a storage medium storing a load detectingprogram and a load detecting apparatus. More specifically, the presentinvention relates to a storage medium storing a load detecting programand a load detecting apparatus which perform processing by detectingload values put on a support board on which a foot of a player is put.

2. Description of the Related Art

Conventionally, a load detecting apparatus equipped with a sensor fordetecting a load of a subject is known in a field of medical equipmentfor purpose of exercises such as rehabilitation.

For example, in a Patent Document 1 (Japanese Patent ApplicationLaid-Open No. 62-34016 [G01G 19/00, A61B 5/10, A61H 1/00, G01G 23/37]),a variable load display apparatus provided with two load sensors isdisclosed. In this apparatus, right and left feet are put on therespective load sensors one by one. From the display of the load valuesdetected by the two load sensors, a balance between the right and leftfeet is measured.

Furthermore, in a Patent Document 2 (Japanese Patent ApplicationLaid-open No. 7-275307 [A61H 1/02, A61B 5/11, A63B 23/04]), a center ofgravity shift training apparatus with three load detecting means isdisclosed. In this apparatus, both feet are put on a detection plateprovided with the three load detecting means. By an arithmetic operationof signals detected from the three load detecting means, a position ofthe center of gravity is calculated and displayed, and whereby, trainingfor shifting the center of gravity is performed.

However, in the above-described Patent Documents 1 and 2, althoughchanges of the load in a state that the foot of the subject is put onthe detection plate provided with the load detecting means (the balancebetween right and left and shift of the center of gravity) can bemeasured, it is difficult to determine a motion of putting up and downthe foot on the detection plate by the subject such as astep-up-and-down exercise and a motion of lifting the thigh above thedetection plate in such a balance between right and left and a shift ofthe center of gravity.

SUMMARY OF THE INVENTION

Therefore, it is a primary object of the present invention to provide anovel storage medium storing a load detecting program and a novel loaddetecting apparatus.

Another object of the present invention is to provide a storage mediumstoring a load detecting program and a load detecting apparatus whichcan determine motions such as putting a foot on and down from thesupport board, lifting the thigh on the support board by the player.

The present invention employs following features in order to solve theabove-described problems. It should be noted that reference numeralsinside the parentheses and the supplements show one example of acorresponding relationship with the embodiments described later for easyunderstanding of the present invention, and do not limit the presentinvention.

A first invention is a storage medium storing a load detecting programto be executed in a computer of a load detecting apparatus provided witha support board which has two or more load sensors spaced with eachother, and on which a player puts his or her foot. The load detectingprogram causes the computer to execute a load value detecting step, aratio calculating step, a position of the center of gravity calculatingstep, and a motion determining step. The load value detecting stepdetects load values put on the support board measured by the loadsensor. The ratio calculating step calculates a ratio of the load valuesdetected by the load detecting step to a body weight value of theplayer. The position of the center of gravity calculating stepcalculates a position of the center of gravity of the load valuesdetected by the load detecting step. The motion determining stepdetermines a motion performed on the support board by the player on thebasis of the ratio and the position of the center of gravity.

In the first invention, the load detecting program is executed in acomputer (40, 42) of a load detecting apparatus (10, 12), and causes theload detecting apparatus function as an apparatus for determining amotion by a player (user) on the basis of detected load values, forexample. The load detecting apparatus has a support board (36) on whichthe foot of the player is put, and the support board is furnished withtwo or more load sensors (36 b) spaced with each other. In a load valuedetecting step (S39), load values put on the support board which aremeasured by the load sensors are detected. Thus, load valuescorresponding to a motion by the player performed on the support boardare detected. In a ratio calculating step (S41), a ratio of the detectedload values to the body weight value of the player is calculated. In aposition of the center of gravity calculating step (S43), a position ofthe center of gravity of the detected load values is calculated. In amotion determining step (S45, S113), a motion performed on the supportboard by the player is determined on the basis of the ratio and theposition of the center of gravity. For example, as to each of thepredetermined number of motions performed on the support board by theplayer, a condition of a ratio of the load values to the body weightvalue and a condition relating to the position of the center of gravityare defined and stored in advance. On the basis of the ratio and theposition of the center of gravity calculated from the detected loadvalues, whether or not a predetermined motion is performed, or bydetecting a motion satisfying the conditions relating to the ratio andthe position of the center of gravity, a motion performed by the playeris specified.

According to the first invention, it is possible to determine a motionperformed on the support board by the player on the basis of the ratioof the load values and the position of the center of gravity.

A second invention is a storage medium storing a load detecting programaccording to the first invention, and the motion determining stepdetermines whether or not a predetermined motion is performed on thebasis of the ratio and the position of the center of gravity.

In the second invention, in the motion determining step, by judgingwhether or not the calculated ratio of the load values to the bodyweight value and the position of the center of gravity respectivelysatisfy a condition of a ratio and a condition of the position of thecenter of gravity as to a predetermined motion, for example, it isdetermined whether or not the predetermined motion is performed by theplayer. By judging the ratio of the load values to the body weight valueand the position of the center of gravity, it is possible to determinewhether or not the predetermined motion is performed on the supportboard. Thus, it is possible to determine whether or not a motion of thestep-up-and-down exercise, a thigh lifting motion, and etc. areperformed on the support board.

A third invention is a storage medium storing a load detecting programaccording to the second invention, and the motion determining stepfurther decides it is determined that the predetermined motion in a pastis performed in the motion determining step in a past as a determinationcondition.

In the third invention, depending on whether or not the motion isperformed in the past by the player, it is possible to decide whether ornot a current motion can be executed.

A fourth invention is a storage medium storing a load detecting programaccording to the second invention, and the load detecting program causesthe computer to further execute: an instructing step for instructing theplayer to perform any one motion out of a plurality of motions as thepredetermined motion, and an elapsed time counting step for counting anelapsed time from when an instruction is given in the instructing step.The motion determining step determines whether or not the motioninstructed in the instructing step is performed while the elapsed timefalls within a predetermined time.

In the fourth invention, in an instructing step (S31), the player isinstructed to perform any one motion out of a plurality of motions. Theinstruction of the motion may be performed by displaying panel (400)indicating the motion on the screen, or proper timing may be shown bytiming of a movement and a stop of the panel, for example. In an elapsedtime counting step (S33, S35), an elapsed time from when an instructionof the motion is given is counted. In the motion determining step, whilethe elapsed time is within a predetermined time, whether or not theinstructed motion is performed is determined. That is, until the timelimit expires, the determination is made on the basis of the ratio ofthe detected load values to the body weight value and the position ofthe center of gravity. If a predetermined motion is performed by theplayer before the predetermined time elapses from an instruction of themotion, it can be determined that the predetermined motion is performed.This makes it possible to instruct the player to perform a predeterminedmotion for each predetermined time to thereby make him or her perform aseries of motions, such as a step-up-and-down exercise, and determinethe motion.

A fifth invention is a storage medium storing a load detecting programaccording to the first invention, and the motion determining stepspecifies which motion is performed out of a plurality of motions set inadvance on the basis of the ratio and the position of the center ofgravity.

In the fifth invention, as to each of the plurality of motions set inadvance, a condition of a ratio of the load values to the body weightvalue and a condition of a position of the center of gravity arepreviously decided, a motion satisfying both of the conditions aredetected on the basis of the calculated ratio and position of the centerof gravity, for example. By detecting load values put on the supportboard to thereby calculate the ratio of the load values to the bodyweight value and the position of the center of gravity, it is possibleto specify which motion is performed by the player, out of thepredetermined number of motions performed on the support board.

A sixth invention is a load detecting apparatus provided with a supportboard which has two or more load sensors spaced with each other, and onwhich a player puts his or her foot, and comprises a load valuedetecting means, a ratio calculation means, a position of the center ofgravity calculation means, and a motion determining means. The loadvalue detecting means detects load values put on the support board whichare measured by the load sensor. The ratio calculation means calculatesa ratio of the load values detected by the load detecting means to abody weight value of the player. The position of the center of gravitycalculation means calculates a position of the center of gravity of theload values detected by the load detecting means. The motion determiningmeans determines a motion performed on the support board by the playeron the basis of the ratio and the position of the center of gravity.

The sixth invention is a load detecting apparatus to which the storagemedium storing a load detecting program according to the first inventionis applied, and has an advantage the same as that in the firstinvention.

According to the present invention, a ratio of the load values put onthe support board to the body weight value and a position of the centerof gravity are calculated, and determination is made on the basis of theratio and the position of the center of gravity, so that it is possibleto determine a motion performed on the support board by the player. Forexample, it is possible to determine whether or not a predeterminedmotion is performed, or it is possible to determine which motion isperformed out of the plurality of motions set in advance.

The above described objects and other objects, features, aspects andadvantages of the present invention will become more apparent from thefollowing detailed description of the present invention when taken inconjunction with the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is an illustrative view showing a game system of one embodimentof the present invention;

FIG. 2 is a block diagram showing one example of an electricconfiguration of the game system shown in FIG. 1;

FIG. 3 is an illustrative view showing an appearance of a controllershown in FIG. 1;

FIG. 4 is a block diagram showing one example of an electricconfiguration of the controller shown in FIG. 3;

FIG. 5 is a perspective view showing a load controller shown in FIG. 1;

FIG. 6 is an illustrative view showing a cross section of the loadcontroller shown in FIG. 5 taken along the line VI-VI;

FIG. 7 is a block diagram showing one example of an electricconfiguration of the load controller shown in FIG. 5;

FIG. 8 is an illustrative view roughly explaining a state when a game isplayed by using the controller and the load controller;

FIG. 9 is an illustrative view showing viewing angles of markers and thecontroller shown in FIG. 1;

FIG. 10 is an illustrative view showing one example of an imaged imageincluding target images;

FIG. 11 is an illustrative view showing one example of respectivemotions of a step-up-and-down exercise;

FIG. 12 is an illustrative view showing one example of respectivemotions of the step-up-and-down exercise incorporating a thigh liftingmotion;

FIG. 13 is an illustrative view showing a motion identifying conditiontable;

FIG. 14 is an illustrative view showing one example of a game screen;

FIG. 15 is an illustrative view showing one example of panels forinstructing a motion of the step-up-and-down exercise incorporating athigh lifting motion in FIG. 12;

FIG. 16 is an illustrative view showing a movement of instructionpanels;

FIG. 17 is an illustrative view showing a memory map of the gameapparatus;

FIG. 18 is a flowchart showing one example of an operation of the gameapparatus;

FIG. 19 is a flowchart showing one example of the motion determiningprocessing shown in FIG. 18;

FIG. 20 is a flowchart showing one example of an operation of the gameapparatus in another embodiment; and

FIG. 21 is a flowchart showing one example of an operation of the motiondetermining processing shown in FIG. 20.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

Referring to FIG. 1, a game system 10 of one embodiment of the presentinvention includes a video game apparatus (hereinafter, simply referredto as “game apparatus”) 12, a controller 22 and a load controller 36. Inthis embodiment, the game apparatus 12 and the load controller 36function as a load detecting apparatus. Although illustration isomitted, the game apparatus 12 of this embodiment is designed such thatit can be connected to four controllers (22, 36) at the maximum.Furthermore, the game apparatus 12 and the respective controllers (22,36) are connected by radio. The wireless communication is executedaccording to a Bluetooth (registered trademark) standard, for example,but may be executed by other standards such as infrared rays, a wirelessLAN.

The game apparatus 12 includes a roughly rectangular parallelepipedhousing 14, and the housing 14 is furnished with a disk slot 16 on afront surface. An optical disk 18 as one example of an informationstorage medium storing game program, etc. is inserted from the disk slot16 to be loaded into a disk drive 54 (see FIG. 2) within the housing 14.Around the disk slot 16, an LED and a light guide plate are arranged soas to be light on or off in accordance with various processing.

Furthermore, on a front surface of the housing 14 of the game apparatus12, a power button 20 a and a reset button 20 b are provided at theupper part thereof, and an eject button 20 c is provided below them. Inaddition, a connector cover for external memory card 28 is providedbetween the reset button 20 b and the eject button 20 c, and in thevicinity of the disk slot 16. Inside the connector cover for externalmemory card 28, an connector for external memory card 62 (see FIG. 2) isprovided, through which an external memory card (hereinafter simplyreferred to as a “memory card”) not shown is inserted. The memory cardis employed for loading the game program, etc. read from the opticaldisk 18 to temporarily store it, storing (saving) game data (result dataor proceeding data of the game) of the game played by means of the gamesystem 10, and so forth. It should be noted that storing the game datadescribed above may be performed on an internal memory, such as a flashmemory 44 (see FIG. 2) inside the game apparatus 12 in place of thememory card. Also, the memory card may be utilized as a backup memory ofthe internal memory.

It should be noted that a general-purpose SD card can be employed as amemory card, but other general-purpose memory cards, such asMemoryStick, Multimedia Card (registered trademark) can be employed.

The game apparatus 12 has an AV cable connector 58 (see FIG. 2) on therear surface of the housing 14, and by utilizing the AV cable connector58, a monitor 34 and a speaker 34 a are connected to the game apparatus12 through an AV cable 32 a. The monitor 34 and the speaker 34 a aretypically a color television receiver, and through the AV cable 32 a, avideo signal from the game apparatus 12 is input to a video inputterminal of the color television, and a sound signal from the gameapparatus 12 is input to a sound input terminal. Accordingly, a gameimage of a three-dimensional (3D) video game, for example, is displayedon the screen of the color television (monitor) 34, and stereo gamesound, such as a game music, a sound effect, etc. is output from rightand left speakers 34 a. Around the monitor 34 (on the top side of themonitor 34, in this embodiment), a marker unit 34 b including twoinfrared ray LEDs (markers) 340 m and 340 n is provided. The marker unit34 b is connected to the game apparatus 12 through a power source cable32 b. Accordingly, the marker unit 34 b is supplied with power from thegame apparatus 12. Thus, the markers 340 m and 340 n emit lights infront of the monitor 34.

Furthermore, the power of the game apparatus 12 is applied by means of ageneral AC adapter (not illustrated). The AC adapter is inserted into astandard wall socket for home use, and the game apparatus 12 transformsthe house current (commercial power supply) to a low DC voltage signalsuitable for driving. In another embodiment, a battery may be utilizedas a power supply.

In the game system 10, a user or a player turns the power of the gameapparatus 12 on for playing the game (or applications other than thegame); Then, the user selects an appropriate optical disk 18 storing aprogram of a video game (or other applications the player wants toplay), and loads the optical disk 18 into the disk drive 54 of the gameapparatus 12. In response thereto, the game apparatus 12 starts toexecute a video game or other applications on the basis of the programrecorded in the optical disk 18. The user operates the controller 22 inorder to apply an input to the game apparatus 12. For example, byoperating any one of the operating buttons of the input means 26, a gameor other application is started. Besides the operation on the inputmeans 26, by moving the controller 22 itself, it is possible to move amoving image object (player object) in different directions or changethe perspective of the user (camera position) in a 3-dimensional gameworld.

FIG. 2 is a block diagram showing an electric configuration of the videogame system 10 shown in FIG. 1 embodiment. Although illustration isomitted, respective components within the housing 14 are mounted on aprinted board. As shown in FIG. 2, the game apparatus 12 has a CPU 40.The CPU 40 functions as a game processor. The CPU 40 is connected with asystem LSI 42. The system LSI 42 is connected with an external mainmemory 46, a ROM/RTC 48, a disk drive 54, and an AV IC 56.

The external main memory 46 is utilized as a work area and a buffer areaof the CPU 40 by storing programs like a game program, etc. and variousdata. The ROM/RTC 48, which is a so-called boot ROM, is incorporatedwith a program for activating the game apparatus 12, and is providedwith a time circuit for counting a time. The disk drive 54 reads programdata, texture data, etc. from the optical disk 18, and writes them in aninternal main memory 42 e described later or the external main memory 46under the control of the CPU 40.

The system LSI 42 is provided with an input-output processor 42 a, a GPU(Graphics Processor Unit) 42 b, a DSP (Digital Signal Processor) 42 c, aVRAM 42 d and an internal main memory 42 e, and these are connected withone another by internal buses although illustration is omitted.

The input-output processor (I/O processor) 42 a executes transmittingand receiving data and executes downloading of the data. Reception andtransmission and download of the data are explained in detail later.

The GPU 42 b is made up of a part of a drawing means, and receives agraphics command (construction command) from the CPU 40 to generate gameimage data according to the command. Additionally, the CPU 40 applies animage generating program required for generating game image data to theGPU 42 b in addition to the graphics command.

Although illustration is omitted, the GPU 42 b is connected with theVRAM 42 d as described above. The GPU 42 b accesses the VRAM 42 d toacquire data (image data: data such as polygon data, texture data, etc.)required to execute the construction instruction. Additionally, the CPU40 writes image data required for drawing to the VRAM 42 d via the GPU42 b. The GPU 42 b accesses the VRAM 42 d to create game image data fordrawing.

In this embodiment, a case that the GPU 42 b generates game image datais explained, but in a case of executing an arbitrary application exceptfor the game application, the GPU 42 b generates image data as to thearbitrary application.

Furthermore, the DSP 42 c functions as an audio processor, and generatesaudio data corresponding to a sound, a voice, music, or the like to beoutput from the speaker 34 a by means of the sound data and the soundwave (tone) data stored in the internal main memory 42 e and theexternal main memory 46.

The game image data and audio data generated as described above are readby the AV IC 56, and output to the monitor 34 and the speaker 34 a viathe AV connector 58. Accordingly, a game screen is displayed on themonitor 34, and a sound (music) necessary for the game is output fromthe speaker 34 a.

Furthermore, the input-output processor 42 a is connected with a flashmemory 44, a wireless communication module 50 and a wireless controllermodule 52, and is also connected with an expansion connector 60 and aconnector for external memory card 62. The wireless communication module50 is connected with an antenna 50 a, and the wireless controller module52 is connected with an antenna 52 a.

The input-output processor 42 a can communicate with other gameapparatuses and various servers to be connected to a network via awireless communication module 50. It should be noted that it is possibleto directly communicate with another game apparatus without goingthrough the network. The input-output processor 42 a periodicallyaccesses the flash memory 44 to detect the presence or absence of data(referred to as data to be transmitted) being required to be transmittedto a network, and transmits it to the network via the wirelesscommunication module 50 and the antenna 50 a in a case that data to betransmitted is present. Furthermore, the input-output processor 42 areceives data (referred to as received data) transmitted from anothergame apparatuses via the network, the antenna 50 a and the wirelesscommunication module 50, and stores the received data in the flashmemory 44. If the received data does not satisfy a predeterminedcondition, the reception data is abandoned as it is. In addition, theinput-output processor 42 a can receive data (download data) downloadedfrom the download server via the network, the antenna 50 a and thewireless communication module 50, and store the download data in theflash memory 44.

Furthermore, the input-output processor 42 a receives input datatransmitted from the controller 22 and the load controller 36 via theantenna 52 a and the wireless controller module 52, and (temporarily)stores it in the buffer area of the internal main memory 42 e or theexternal main memory 46. The input data is erased from the buffer areaafter being utilized in game processing by the CPU 40.

In this embodiment, as described above, the wireless controller module52 makes communications with the controller 22 and the load controller36 in accordance with Bluetooth standards.

Furthermore, for the sake of the drawings, FIG. 2 collectively shows thecontroller 22 and the load controller 36.

In addition, the input-output processor 42 a is connected with theexpansion connector 60 and the connector for external memory card 62.The expansion connector 60 is a connector for interfaces, such as USB,SCSI, etc., and can be connected with medium such as an externalstorage, and peripheral devices such as another controller. Furthermore,the expansion connector 60 is connected with a cable LAN adaptor, andcan utilize the cable LAN in place of the wireless communication module50. The connector for external memory card 62 can be connected with anexternal storage like a memory card. Thus, the input-output processor 42a, for example, accesses the external storage via the expansionconnector 60 and the connector for external memory card 62 to store andread the data.

Although a detailed description is omitted, as shown in FIG. 1, the gameapparatus 12 (housing 14) is furnished with the power button 20 a, thereset button 20 b, and the eject button 20 c. The power button 20 a isconnected to the system LSI 42. When the power button 20 a is turned on,the system LSI 42 sets a mode of a normal energized state (referred toas “normal mode”) in which the respective components of the gameapparatus 12 are supplied with power through an AC adapter not shown. Onthe other hand, when the power button 20 a is turned off, the system LSI42 sets a mode in which a part of the components of the game apparatus12 is supplied with power, and the power consumption is reduced tominimum (hereinafter referred to as “standby mode”). In this embodiment,in a case that the standby mode is set, the system LSI 42 issues aninstruction to stop supplying the power to the components except for theinput-output processor 42 a, the flash memory 44, the external mainmemory 46, the ROM/RTC 48 and the wireless communication module 50, andthe wireless controller module 52. Accordingly, the standby mode is amode in which the CPU 40 never executes an application.

Although the system LSI 42 is supplied with power even in the standbymode, supply of clocks to the GPU 42 b, the DSP 42 c and the VRAM 42 dare stopped so as not to be driven, realizing reduction in powerconsumption.

Although illustration is omitted, inside the housing 14 of the gameapparatus 12, a fan is provided for excluding heat of the IC, such asthe CPU 40, the system LSI 42, etc. to outside. In the standby mode, thefan is also stopped.

However, in a case that the standby mode is not desired to be utilized,when the power button 20 a is turned off, by making the standby modeunusable, the power supply to all the circuit components are completelystopped.

Furthermore, switching between the normal mode and the standby mode canbe performed by turning on and off the power switch 26 h (see FIG. 3) ofthe controller 22 by remote control. If the remote control is notperformed, setting is made such that the power supply to the wirelesscontroller module 52 is not performed in the standby mode.

The reset button 20 b is also connected with the system LSI 42. When thereset button 20 b is pushed, the system LSI 42 restarts the activationprogram of the game apparatus 12. The eject button 20 c is connected tothe disk drive 54. When the eject button 20 c is pushed, the opticaldisk 18 is removed from the disk drive 54.

Each of FIG. 3 (A) to FIG. 3 (E) shows one example of an externalappearance of the controller 22. FIG. 3 (A) shows a front end surface ofthe controller 22, FIG. 3 (B) shows a top surface of the controller 22,FIG. 3 (C) shows a right side surface of the controller 22, FIG. 3 (D)shows a lower surface of the controller 22, and FIG. 3 (E) shows a backend surface of the controller 22.

Referring to FIG. 3 (A) and FIG. 3 (E), the controller 22 has a housing22 a formed by plastic molding, for example. The housing 22 a is formedinto an approximately rectangular parallelepiped shape and has a sizesmall enough to be held by one hand of a user. The housing 22 a(controller 22) is provided with the input means (a plurality of buttonsor switches) 26. Specifically, as shown in FIG. 3 (B), on an upper faceof the housing 22 a, there are provided a cross key 26 a, a 1 button 26b, a 2 button 26 c, an A button 26 d, a − button 26 e, a HOME button 26f, a + button 26 g and a power switch 26 h. Moreover, as shown in FIG. 3(C) and FIG. 3 (D), an inclined surface is formed on a lower surface ofthe housing 22 a, and a B-trigger switch 26 i is formed on the inclinedsurface.

The cross key 26 a is a four directional push switch, including fourdirections of front (or upper), back (or lower), right and leftoperation parts. By operating any one of the operation parts, it ispossible to instruct a moving direction of a character or object (playercharacter or player object) that is be operable by a player or instructthe moving direction of a cursor.

The 1 button 26 b and the 2 button 26 c are respectively push buttonswitches, and are used for adjusting a viewpoint position and aviewpoint direction on displaying the 3D game image, i.e. a position andan image angle of a virtual camera. Alternatively, the 1 button 26 b andthe 2 button 26 c can be used for the same operation as that of theA-button 26 d and the B-trigger switch 26 i or an auxiliary operation.

The A-button switch 26 d is the push button switch, and is used forcausing the player character or the player object to take an actionother than that instructed by a directional instruction, specificallyarbitrary actions such as hitting (punching), throwing, grasping(acquiring), riding, and jumping, etc. For example, in an action game,it is possible to give an instruction to jump, punch, move a weapon, andso forth. Also, in a roll playing game (RPG) and a simulation RPG, it ispossible to instruct to acquire an item, select and determine the weaponand command, and so forth.

The − button 26 e, the HOME button 26 f, the + button 26 g, and thepower supply switch 26 h are also push button switches. The − button 26e is used for selecting a game mode. The HOME button 26 f is used fordisplaying a game menu (menu screen). The + button 26 g is used forstarting (re-starting) or pausing the game. The power supply switch 26 his used for turning on/off a power supply of the game apparatus 12 byremote control.

In this embodiment, note that the power supply switch for turning on/offthe controller 22 itself is not provided, and the controller 22 is setat on-state by operating any one of the switches or buttons of the inputmeans 26 of the controller 22, and when not operated for a certainperiod of time (30 seconds, for example) or more, the controller 22 isautomatically set at off-state.

The B-trigger switch 26 i is also the push button switch, and is mainlyused for inputting a trigger such as shooting and designating a positionselected by the controller 22. In a case that the B-trigger switch 26 iis continued to be pushed, it is possible to make movements andparameters of the player object constant. In a fixed case, the B-triggerswitch 26 i functions in the same way as a normal B-button, and is usedfor canceling the action determined by the A-button 26 d.

As shown in FIG. 3 (E), an external expansion connector 22 b is providedon a back end surface of the housing 22 a, and as shown in FIG. 3 (B),an indicator 22 c is provided on the top surface and the side of theback end surface of the housing 22 a. The external expansion connector22 b is utilized for connecting another expansion controller not shown.The indicator 22 c is made up of four LEDs, for example, and showsidentification information (controller number) of the controller 22corresponding to the lighting LED by lighting any one of the four LEDs,and shows the remaining amount of power of the controller 22 dependingon the number of LEDs to be emitted.

In addition, the controller 22 has an imaged information arithmeticsection 80 (see FIG. 4), and as shown in FIG. 3 (A), on the front endsurface of the housing 22 a, light incident opening 22 d of the imagedinformation arithmetic section 80 is provided. Furthermore, thecontroller 22 has a speaker 86 (see FIG. 4), and the speaker 86 isprovided inside the housing 22 a at the position corresponding to asound release hole 22 e between the 1 button 26 b and the HOME button 26f on the tope surface of the housing 22 a as shown in FIG. 3 (B).

Note that, the shape of the controller 22 and the shape, number andsetting position of each input means 26 shown in FIG. 3 (A) to FIG. 3(E) are simply examples, and needless to say, even if they are suitablymodified, the present invention can be realized.

FIG. 4 is a block diagram showing an electric configuration of thecontroller 22. Referring to FIG. 4, the controller 22 includes aprocessor 70, and the processor 70 is connected with the externalexpansion connector 22 b, the input means 26, a memory 72, anacceleration sensor 74, a radio module 76, the imaged informationarithmetic section 80, an LED 82 (the indicator 22 c), an vibrator 84, aspeaker 86, and a power supply circuit 88 by an internal bus (notshown). Moreover, an antenna 78 is connected to the radio module 76.

The processor 70 is in charge of an overall control of the controller22, and transmits (inputs) information (input information) inputted bythe input means 26, the acceleration sensor 74, and the imagedinformation arithmetic section 80 as input data, to the game apparatus12 via the radio module 76 and the antenna 78. At this time, theprocessor 70 uses the memory 72 as a working area or a buffer area.

An operation signal (operation data) from the aforementioned input means26 (26 a to 26 i) is inputted to the processor 70, and the processor 70stores the operation data once in the memory 72.

Moreover, the acceleration sensor 74 detects each acceleration of thecontroller 22 in directions of three axes of vertical direction (y-axialdirection), lateral direction (x-axial direction), and forward andrearward directions (z-axial direction). The acceleration sensor 74 istypically an acceleration sensor of an electrostatic capacity type, butthe acceleration sensor of other type may also be used.

For example, the acceleration sensor 74 detects the accelerations (ax,ay, and az) in each direction of x-axis, y-axis, z-axis for each firstpredetermined time, and inputs the data of the acceleration(acceleration data) thus detected in the processor 70. For example, theacceleration sensor 74 detects the acceleration in each direction of theaxes in a range from −2.0 g to 2.0 g (g indicates a gravitationalacceleration. The same thing can be said hereafter.) The processor 70detects the acceleration data given from the acceleration sensor 74 foreach second predetermined time, and stores it in the memory 72 once. Theprocessor 70 creates input data including at least one of the operationdata, acceleration data and marker coordinate data as described later,and transmits the input data thus created to the game apparatus 12 foreach third predetermined time (5 msec, for example).

In this embodiment, although omitted in FIG. 3 (A) to FIG. 3 (E), theacceleration sensor 74 is provided inside the housing 22 a and in thevicinity on the circuit board where the cross key 26 a is arranged.

The radio module 76 modulates a carrier of a predetermined frequency bythe input data, by using a technique of Bluetooth, for example, andemits its weak radio wave signal from the antenna 78. Namely, the inputdata is modulated to the weak radio wave signal by the radio module 76and transmitted from the antenna 78 (controller 22). The weak radio wavesignal is received by the radio controller module 52 provided to theaforementioned game apparatus 12. The weak radio wave thus received issubjected to demodulating and decoding processing. This makes itpossible for the game apparatus 12 (CPU 40) to acquire the input datafrom the controller 22. Then, the CPU 40 performs game processing,following the input data and the program (game program).

In addition, as described above, the controller 22 is provided with theimaged information arithmetic section 80. The imaged informationarithmetic section 80 is made up of an infrared rays filter 80 a, a lens80 b, an imager 80 c, and an image processing circuit 80 d. The infraredrays filter 80 a passes only infrared rays from the light incident fromthe front of the controller 22. As described above, the markers 340 mand 340 n placed near (around) the display screen of the monitor 34 areinfrared LEDs for outputting infrared lights forward the monitor 34.Accordingly, by providing the infrared rays filter 80 a, it is possibleto image the image of the markers 340 m and 340 n more accurately. Thelens 80 b condenses the infrared rays passing thorough the infrared raysfilter 80 a to emit them to the imager 80 c. The imager 80 c is a solidimager, such as a CMOS sensor and a CCD, for example, and images theinfrared rays condensed by the lens 80 b. Accordingly, the imager 80 cimages only the infrared rays passing through the infrared rays filter80 a to generate image data. Hereafter, the image imaged by the imager80 c is called an “imaged image”. The image data generated by the imager80 c is processed by the image processing circuit 80 d. The imageprocessing circuit 80 d calculates a position of an object to be imaged(markers 340 m and 340 n) within the imaged image, and outputs eachcoordinate value indicative of the position to the processor 70 asimaged data for each fourth predetermined time. It should be noted thata description of the process in the image processing circuit 80 d ismade later.

FIG. 5 is a perspective view showing an appearance of the loadcontroller 36 shown in FIG. 1. The load controller 36 includes a board36 a on which a player rides (a player puts his or her foot) and atleast four load sensors 36 b that detect loads applied on the board 36a. The load sensors 36 b are accommodated in the board 36 a (see FIG.7), and the arrangement of the load sensors 36 b is shown by dotted linein FIG. 5.

The board 36 a is formed in a substantially rectangle, and the board 36a has a substantially rectangular shape when viewed from above. Forexample, a short side of the rectangular is set in the order of about 30cm, and a long side thereof is set in the order of 50 cm. An uppersurface of the board 36 a on which the player rides is formed in flat.Side faces at four corners of the board 36 a are formed so as to bepartially projected in a cylindrical shape.

In the board 36 a, the four load sensors 36 b are arranged atpredetermined intervals. In the embodiment, the four load sensors 36 bare arranged in peripheral portions of the board 36 a, specifically, atthe four corners. The interval between the load sensors 36 b is set anappropriate value such that player's intention can accurately bedetected for the load applied to the board 36 a in a game manipulation.

FIG. 6 shows a sectional view taken along the line VI-VI of the loadcontroller 36 shown in FIG. 5, and also shows an enlarged corner portiondisposed in the load sensor 36 b. As can be seen from FIG. 6, the board36 a includes a support plate 360 on which the player rides and legs362. The legs 362 are provided at positions where the load sensors 36 bare arranged. In the embodiment, because the four load sensors 36 b arearranged at four corners, the four legs 362 are provided at the fourcorners. The leg 362 is formed in a cylindrical shape with bottom by,e.g., plastic molding. The load sensor 36 b is placed on a sphericalpart 362 a provided in the bottom of the leg 362. The support plate 360is supported by the leg 362 while the load sensor 36 b is interposed.

The support plate 360 includes an upper-layer plate 360 a thatconstitutes an upper surface and an upper side face, a lower-layer plate360 b that constitutes a lower surface and a lower side face, and anintermediate-layer plate 360 c provided between the upper-layer plate360 a and the lower-layer plate 360 b. For example, the upper-layerplate 360 a and the lower-layer plate 360 b are formed by plasticmolding and integrated with each other by bonding. For example, theintermediate-layer plate 360 c is formed by pressing one metal plate.The intermediate-layer plate 360 c is fixed onto the four load sensors36 b. The upper-layer plate 360 a has a lattice-shaped rib (not shown)in a lower surface thereof, and the upper-layer plate 360 a is supportedby the intermediate-layer plate 360 c while the rib is interposed.Accordingly, when the player rides on the board 36 a, the load istransmitted to the support plate 360, the load sensor 36 b, and the leg362. As shown by an arrow in FIG. 6, reaction generated from a floor bythe input load is transmitted from the legs 362 to the upper-layer plate360 a through the spherical part 362 a, the load sensor 36 b, and theintermediate-layer plate 360 c.

The load sensor 36 b is formed by, e.g., a strain gage (strain sensor)type load cell, and the load sensor 36 b is a load transducer thatconverts the input load into an electric signal. In the load sensor 36b, a strain inducing element 370 a is deformed to generate a strainaccording to the input load. The strain is converted into a change inelectric resistance by a strain sensor 370 b adhering to the straininducing element 370 a, and the change in electric resistance isconverted into a change in voltage. Accordingly, the load sensor 36 boutputs a voltage signal indicating the input load from an outputterminal.

Other types of load sensors such as a folk vibrating type, a stringvibrating type, an electrostatic capacity type, a piezoelectric type, amagneto-striction type, and gyroscope type may be used as the loadsensor 36 b.

Returning to FIG. 5, the load controller 36 is further provided with apower button 36 c. When the power button 36 c is turned on, power issupplied to the respective circuit components (see FIG. 7) of the loadcontroller 36. It should be noted that the load controller 36 may beturned on in accordance with an instruction from the game apparatus 12.Furthermore, the power of the load controller 36 is turned off when astate that the player does not ride continues for a given time of period(30 seconds, for example). Alternatively, the power may be turned offwhen the power button 36 c is turned on in a state that the loadcontroller 36 is activated.

FIG. 7 is a block diagram showing an example of an electricconfiguration of the load controller 36. In FIG. 7, the signal andcommunication stream are indicated by solid-line arrows, and electricpower supply is indicated by broken-line arrows.

The load controller 36 includes a microcomputer 100 that controls anoperation of the load controller 36. The microcomputer 100 includes aCPU, a ROM and a RAM (not shown), and the CPU controls the operation ofthe load controller 36 according to a program stored in the ROM.

The microcomputer 100 is connected with the power button 36 c, the A/Dconverter 102, a DC-DC converter 104 and a wireless module 106. Inaddition, the wireless module 106 is connected with an antenna 106 a.Furthermore, the four load sensors 36 b are displayed as a load cell 36b in FIG. 3. Each of the four load sensors 36 b is connected to the A/Dconverter 102 via an amplifier 108.

Furthermore, the load controller 36 is provided with a battery 110 forpower supply. In another embodiment, an AC adapter in place of thebattery is connected to supply a commercial power supply. In such acase, a power supply circuit has to be provided for convertingalternating current into direct current and stepping down and rectifyingthe direct voltage in place of the DC-DC converter. In this embodiment,the power supply to the microcomputer 100 and the wireless module 106are directly made from the battery. That is, power is constantlysupplied to a part of the component (CPU) inside the microcomputer 100and the wireless module 106 to thereby detect whether or not the powerbutton 36 c is turned on, and whether or not a power-on (load detection)command is transmitted from the game apparatus 12. On the other hand,power from the battery 110 is supplied to the load sensor 36 b, the A/Dconverter 102 and the amplifier 108 via the DC-DC converter 104. TheDC-DC converter 104 converts the voltage level of the direct currentfrom the battery 110 into a different voltage level, and applies it tothe load sensor 36 b, the A/D converter 102 and the amplifier 108.

The electric power may be supplied to the load sensor 36 b, the A/Dconverter 102, and the amplifier 108 if needed such that themicrocomputer 100 controls the DC-DC converter 104. That is, when themicrocomputer 100 determines that a need to operate the load sensor 36 bto detect the load arises, the microcomputer 100 may control the DC-DCconverter 104 to supply the electric power to each load sensor 36 b, theA/D converter 102, and each amplifier 108.

Once the electric power is supplied, each load sensor 36 b outputs asignal indicating the input load. The signal is amplified by eachamplifier 108, and the analog signal is converted into digital data bythe A/D converter 102. Then, the digital data is inputted to themicrocomputer 100. Identification information on each load sensor 36 bis imparted to the detection value of each load sensor 36 b, allowingfor distinction among the detection values of the load sensors 36 b.Thus, the microcomputer 100 can obtain the pieces of data indicating thedetection values of the four load sensors 36 b at the same time.

On the other hand, when the microcomputer 100 determines that the needto operate the load sensor 36 b does not arise, i.e., when themicrocomputer 100 determines it is not the time the load is detected,the microcomputer 100 controls the DC-DC converter 104 to stop thesupply of the electric power to the load sensor 36 b, the A/D converter102 and the amplifier 108. Thus, in the load controller 36, the loadsensor 36 b is operated to detect the load only when needed, so that thepower consumption for detecting the load can be suppressed.

Typically, the time the load detection is required shall means the timethe game apparatus 12 (FIG. 1) obtains the load data. For example, whenthe game apparatus 12 requires the load information, the game apparatus12 transmits a load obtaining command to the load controller 36. Whenthe microcomputer 100 receives the load obtaining command from the gameapparatus 12, the microcomputer 100 controls the DC-DC converter 104 tosupply the electric power to the load sensor 36 b, etc., therebydetecting the load. On the other hand, when the microcomputer 100 doesnot receive the load obtaining command from the game apparatus 12, themicrocomputer 100 controls the DC-DC converter 104 to stop the electricpower supply.

Alternatively, the microcomputer 100 determines it is the time the loadis detected at regular time intervals, and the microcomputer 100 maycontrol the DC-DC converter 104. In the case when the microcomputer 100periodically detects the load, information on the period may initiallybe imparted from the game apparatus 12 to the microcomputer 100 of theload controller 36 or previously stored in the microcomputer 100.

The data indicating the detection value from the load sensor 36 b istransmitted as the manipulation data (input data) of the load controller36 from the microcomputer 100 to the game apparatus 12 (FIG. 1) throughthe wireless module 106 and the antenna 106 a. For example, in the casewhere the command is received from the game apparatus 12 to detect theload, the microcomputer 100 transmits the detection value data to thegame apparatus 12 when receiving the detection value data of the loadsensor 36 b from the A/D converter 102. Alternatively, the microcomputer100 may transmit the detection value data to the game apparatus 12 atregular time intervals. If the transmission cycle is longer than thedetection cycle of the load, data including load values of the pluralityof detection timings detected by the transmission timing is transmitted.

Additionally, the wireless module 106 can communicate by a radiostandard (Bluetooth, wireless LAN, etc.) the same as that of the radiocontroller module 52 of the game apparatus 12. Accordingly, the CPU 40of the game apparatus 12 can transmit a load obtaining command to theload controller 36 via the radio controller module 52, etc. Themicrocomputer 100 of the load controller 36 can receive a command fromthe game apparatus 12 via the wireless module 106 and the antenna 106 a,and transmit input data including load detecting values (or loadcalculating values) of the respective load sensors 36 b to the gameapparatus 12.

For example, in the case of a game performed based on the simple totalvalue of the four load values detected by the four load sensors 36 b,the player can take any position with respect to the four load sensors36 b of the load controller 36, that is, the player can play the gamewhile riding on any position of the board 36 a with any orientation.However, depending on the type of the game, it is necessary to performprocessing while determining toward which direction the load valuedetected by each load sensors 36 b is orientated when viewed from theplayer. That is, it is necessary to understand a positional relationshipbetween the four load sensors 36 b of the load controller 36 and theplayer. For example, the positional relationship between the four loadsensors 36 b and the player is previously defined, and it may be assumedthat the player rides on the board 36 a such that the predeterminedpositional relationship is obtained. Typically, there is defined suchthe positional relationship that each two load sensors 36 b exist at thefront and the back of and on right and left sides of the player ridingon the center of the board 36 a, i.e. such the positional relationshipthat the load sensors 36 b exist in the right front, left front, rightrear, and left rear directions from the center of the playerrespectively when the player rides on the center of the board 36 a ofthe load controller 36. In this case, in this embodiment, the board 36 aof the load controller 36 takes shape of a rectangle in a plane view,and the power button 36 c is provided on one side (long side) of therectangle, and therefore, by means of the power button 36 c as a mark,the player is informed in advance that he or she rides on the board 36 asuch that the long side on which the power button 36 c is provided ispositioned in a predetermined direction (front, back, left or right).Thus, a load value detected at each load sensor 36 b becomes a loadvalue in a predetermined direction (right front, left front, right backand left back) when viewed from the player. Accordingly, the loadcontroller 36 and the game apparatus 12 can understand that to whichdirection each load detecting value corresponds, seen from the player onthe basis of the identification information of each load sensor 36 bincluded in the load detection value data and the arrangement data set(stored) in advance for indicating a position or a direction of eachload sensor 36 b with respect to the player. This makes it possible tograsp an intention of a game operation by the player such as anoperating direction from front to back and from side to side, forexample.

The arrangement of the load sensors 36 b relative to the player is notpreviously defined but the arrangement may be set by the player's inputin the initial setting, setting in the game, or the like. For example,the load is obtained while the screen in which the player instructed toride on the portion in a predetermined direction (such as the rightfront, left front, right rear, and left rear directions) when viewedfrom the player. Therefore, the positional relationship between eachload sensor 36 b and the player can be specified, and the information onthe arrangement by the setting can be generated and stored.Alternatively, a screen for selecting an arrangement of the loadcontroller 36 is displayed on the screen of the monitor 34 to allow theplayer to select by an input with the controller 22 to which directionthe mark (power button 36 c) exists when viewed from the player, and inresponse to the selection, arrangement data of each load sensor 36 b maybe generated and stored.

FIG. 8 is an illustrative view roughly explaining a state in which thegame is played using the controller 22 and load controller 36. As shownin FIG. 8, when playing a game by utilizing the controller 22 and theload controller 36 in the video game system 10, the player grasps thecontroller 22 in one hand while riding on the load controller 36.Exactly, the player grasps the controller 22 with the front-end surface(the side of the incident port 22 d to which the light imaged by theimaged information arithmetic section 80 is incident) of the controller22 orientated toward the markers 340 m and 340 n while riding on theload controller 36. However, as can be seen from FIG. 1, the markers 340m and 340 n are disposed in parallel with the crosswise direction of thescreen of the monitor 34. In this state of things, the player changesthe position on the screen indicated by the controller 22 or thedistance between the controller 22 and the marker 340 m or 340 n toperform the game manipulation.

Additionally, although FIG. 8 shows that by placing the load controller36 vertically to the screen of the monitor 34 (placing it such that thedirection of the long side is vertical to the screen), the player istransverse to the screen, a position of the load controller 36 and adirection of the player with respect to the screen may arbitrarily bechanged depending on the kind of the game, and by placing (by placing itsuch that the long side direction is parallel with the screen) the loadcontroller 36 horizontally to the screen, the player may be oriented toface with the screen, for example.

FIG. 9 is an illustrative view for explaining view angles of the markers340 m and 340 n and controller 22. As shown in FIG. 9, the markers 340 mand 340 n each emit the infrared ray in a range of a view angle θ1. Theimager 80 c of the imaged information arithmetic section 80 can receivethe incident light in a range of a view angle θ2 around a visual axisdirection of the controller 22. For example, each of the markers 340 mand 340 n has the view angle θ1 of 34° (half-value angle), and theimager 80 c has the view angle θ2 of 41°. The player grasps thecontroller 22 such that the imager 80 c is set to the position andorientation at which the infrared rays can be received from the twomarkers 340 m and 340 n. Specifically, the player grasps the controller22 such that at least one of the markers 340 m and 340 n exists in theview angle θ2 of the imager 80 c while the controller 22 exists in theview angle θ1 of at least one of the markers 340 m and 340 n. In thisstate, the controller 22 can detect at least one of the markers 340 mand 340 n. The player can change the position and orientation of thecontroller 22 to perform the game manipulation in the range satisfyingthis state.

In the case where the position and orientation of the controller 22 areout of the range, the game manipulation cannot be performed based on theposition and orientation of the controller 22. Hereinafter the range isreferred to as “manipulable range”.

In the case where the controller 22 is grasped in the manipulable range,the images of the markers 340 m and 340 n are taken by the imagedinformation arithmetic section 80. That is, the imaged image obtained bythe imager 80 c includes the images (target images) of the markers 340 mand 340 n that are of the imaging target. FIG. 10 is a view showing anexample of the imaged image including the target image. Using the imagedata of the imaged image including the target image, the imageprocessing circuit 80 d computes the coordinate (marker coordinate)indicating the position in the imaged images of the markers 340 m and340 n.

Because the target image appears as a high-brightness portion in theimage data of the imaged image, the image processing circuit 80 ddetects the high-brightness portion as a candidate of the target image.Then, the image processing circuit 80 d determines whether or not thehigh-brightness portion is the target image based on the size of thedetected high-brightness portion. Sometimes the imaged image includesnot only images 340 m′ and 340 n′ corresponding to the two markers 340 mand 340 n that are of the target image but also the image except for thetarget image due to the sunlight from a window or a fluorescent light.The processing of the determination whether or not the high-brightnessportion is the target image is performed in order to distinguish theimages 340 m′ and 340 n′ of the makers 340 m and 340 n that are of thetarget image from other images to exactly detect the target image.Specifically, the determination whether or not the detectedhigh-brightness portion has the size within a predetermined range ismade in the determination processing. When the high-brightness portionhas the size within the predetermined range, it is determined that thehigh-brightness portion indicates the target image. On the contrary,when the high-brightness portion does not have the size within thepredetermined range, it is determined that the high-brightness portionindicates the image except for the target image.

Then, the image processing circuit 80 d computes the position of thehigh-brightness portion for the high-brightness portion in which it isdetermined indicate the target image as a result of the determinationprocessing. Specifically, a position of the center of gravity of thehigh-brightness portion is computed. Hereinafter, the coordinate of theposition of the center of gravity is referred to as marker coordinate.The position of the center of gravity can be computed in more detailcompared with resolution of the imager 80 c. At this point, it isassumed that the image taken by the imager 80 c has the resolution of126×96 and the position of the center of gravity is computed in a scaleof 1024×768. That is, the marker coordinate is expressed by an integernumber of (0, 0) to (1024, 768).

The position in the imaged image is expressed by a coordinate system(XY-coordinate system) in which an origin is set to an upper left of theimaged image, a downward direction is set to a positive Y-axisdirection, and a rightward direction is set to a positive X-axisdirection.

In the case where the target image is correctly detected, two markercoordinates are computed because the two high-brightness portions aredetermined as the target image by the determination processing. Theimage processing circuit 80 d outputs the pieces of data indicating thetwo computed marker coordinates. As described above, the outputtedpieces of marker coordinate data are added to the input data by theprocessor 70 and transmitted to the game apparatus 12.

When the game apparatus 12 (CPU 40) detects the marker coordinate datafrom the received input data, the game apparatus 12 can compute theposition (indicated coordinate) indicated by the controller 22 on thescreen of the monitor 34 and the distances between the controller 22 andthe markers 340 m and 340 n based on the marker coordinate data.Specifically, the position toward which the controller 22 is orientated,i.e., the indicated position is computed from the position at themidpoint of the two marker coordinates. Accordingly, the controller 22functions as a pointing device for instructing an arbitrary positionwithin the screen of the monitor 34. The distance between the targetimages in the imaged image is changed according to the distances betweenthe controller 22 and the markers 340 m and 340 n, and therefore, bycomputing the distance between the marker coordinates, the gameapparatus 12 can compute the current distances between the controller 22and the markers 340 m and 340 n.

In the game system 10, a game is performed by a motion such as putting afoot on and down from the load controller 36 by the player. The motionperformed on the load controller 36 by the player is determined(identified) on the basis of the load values detected by the loadcontroller 36. Specifically, on the basis of a ratio of the load valuesto a body weight value of the player and a position of the center ofgravity, a motion performed on the load controller 36 by the player isdetermined. More specifically, on the basis of the ratio of the detectedload values to the body weight value and the position of the center ofgravity, which motion is performed can be specified out of a pluralityof motions set (registered) in advance. Furthermore, whether or not apredetermined motion is performed can be determined on the basis of theratio of the detected load values to the body weight value and theposition of the center of gravity.

In this embodiment, a step-up-and-down exercise game is performed. Thestep-up-and-down exercise is an exercise of repetitively stepping up anddown the board. As shown in FIG. 11, the player plays the game byperforming a motion of putting the foot on and down from the loadcontroller 36 while regarding the load controller 36 as a steppingboard.

FIG. 11 shows a case that the player performs a step-up-and-downexercise from the right foot on the load controller 36 placed in frontof him or her as one example. More specifically, as a first step (FIG.11(A)), the right foot is put on, as a second step (FIG. 11(B)), theleft foot is put on, as a third step (FIG. 11(C)), the right foot is putdown backward, and as a fourth step (FIG. 11(D)), the left foot is putdown backward.

The motion of stepping up and down the load controller 36 is accordingto an instruction on the game screen described below, and can be changedas necessary. Accordingly, FIG. 11 shows that the stepping up and downexercise starts from the right foot, but the exercise may start from theleft foot. Furthermore, FIG. 11 shows that the player first puts downthe foot which has formerly been ridden, but the player may first putdown the foot which has later been ridden. In FIG. 11, the player stepsup and down while moving forward and backward. Alternatively, the playermay step up and down while moving from side to side, or may step up anddown while moving backward and forward, and from side to side incombination.

Furthermore, a step-up-and-down exercise including a thigh liftingmotion is also performed. FIG. 12 shows a motion of the player in a casethat a thigh lifting motion is included in the step-up-and-down exerciseshown in FIG. 11. More specifically, at a first step (FIG. 12(A)), theright foot of the player is put on the load controller 36 similar to thenormal step-up-and-down exercise in FIG. 11. Next, at a second step(FIG. 12(B)), a lifting the left thigh is performed. That is, the playerlifts the left foot and lifts the left knee by swinging the left thighwhen riding on the load controller 36. The player stands with only theright foot without the left foot being put on the load controller 36.Next, at a third step (FIG. 12(C)), the swung left foot is put downbackward, and at a fourth step (FIG. 12(D)), the right foot is put downbackward.

In this embodiment, each of the motions in such a step-up-and-downexercise, that is, each of the motions at the first step, at the secondstep, at the third step and at the fourth step is determined on thebasis of the load values.

More specifically, inventors find that a motion performed on the loadcontroller 36 by the player can be determined by deciding a ratio of theload values to the body weight value by the player and a position of thecenter of gravity in combination.

The body weight value is calculated by summing load values of all theload sensors 36 b detected when the player rides on the load controller36 in a still state. Additionally, when the body weight value ismeasured, a screen for instructing the player to calmly ride on the loadcontroller 36 with both feet is displayed, for example. A ratio of theload values to the body weight value is calculated by dividing the sumof the detected load values of all the load sensors 36 b by the bodyweight value.

The position of the center of gravity is a position of the center ofgravity of the load values of the respective load sensors 36 b of theload controller 36. In this embodiment, the step-up-and-down exercise isperformed such that the long side of the rectangular board 36 a of theload controller 36 positions in a back-and-forth direction of theplayer, and the short side positions in a right and left direction ofthe player. Then, the position of the center of gravity in the right andleft direction is utilized for identifying a motion.

When a load value detected by the load sensor 36 b at the left front ofthe player is a, when a load value detected by the load sensor 36 b atthe left back is b, when a load value detected by the load sensor 36 bat the right front is c, when a load value detected by the load sensor36 b at the right back is d, the position of the center of gravity inthe right and left direction XG is calculated by Equation 1 below.

XG=((c+d)−(a+b))*m   [Equation 1]

Here, m is a constant, and set to a value satisfying −1≦XG≦1.

Additionally, although not utilized in this embodiment, in anotherembodiment, judgment may be performed on the basis of a position of thecenter of gravity in a back and forth direction depending on the motion.In this case, the position of the center of gravity in a back and forthdirection YG is calculated by a following Equation 2.

YG=((a+c)−(b+d))*n   [Equation 2]

Here, n is a constant, and set to a value satisfying −1≦YG≦1.

Thus, the position of the center of gravity in a right and leftdirection XG is calculated on the basis of the difference between theload values (c+d) at the right of the player and the load values (a+b)at the left of the player, and the position of the center of gravity ina back-and-forth direction YG is calculated on the basis of thedifference between the load values (a+c) in front of the player and theload values (b+d) at the rear of the player.

It should be noted toward which direction (right front, right back, leftfront, left back in this embodiment) each load sensor 36 b exists whenviewed from the player can be grasped from the arrangement data which isdecided in advance or set by the player so as to be stored as describedabove.

In FIG. 13, for each motion determined in this embodiment, a conditionin relation to a ratio of load values to a body weight value, and acondition in relation to a position of center of gravity are shown. Atable in which a condition relating to the ratio and a conditionrelating to the position of the center of gravity are brought intocorrespondence with identification information of predetermined numberof motions is stored in advance.

More specifically, the right foot riding motion is a motion of puttingthe right foot on the load controller 36 with the left foot put on theground as shown in FIG. 11(A), FIG. 12(A) and FIG. 12(C). The conditionof the ratio of the load values is 25 to 75%. According to this motion,one foot is put on the load controller 36, the other foot remains to beput on the ground, so that the half of all the player's weight is put onthe load controller 36. In addition, a condition of the ratio of theload values for each motion is decided in view of the difference of thebalance of the loads put on the right and left feet due to a habit foreach player, etc.

Furthermore, the condition of the position of the center of gravity is+0.01 to +1.0. In the step-up-and-down exercise of this embodiment, theplayer is required to put the right foot nearer to the right side thanthe center of the board 36 a of the load controller 36, and put the leftfoot nearer to the left side than the center of the board 36 a, so thatthe condition of a position of the center of gravity for each motion isset by taking this into consideration. That is, when only the right footis put on the load controller 36, the position of the center of gravityappears on the right side of the load controller 36, when only the leftfoot is put on the load controller 36, the position of the center ofgravity appears on the left side of the load controller 36, and whenboth of the feet are put on, the position of the center of gravityappears at approximately the center. In addition, in view of adifference in the positions of the center of gravity due to a habit foreach player, a condition of the position of the center of gravity foreach motion is decided.

A both feet riding motion is a motion to bring about a state that bothof the feet are put on the load controller 36 as shown in FIG. 11(B).The condition of the ratio is equal to or more than 95% (almost all theplayer's weight), and the condition of the position of the center ofgravity is −0.7 to +0.7.

A left foot riding motion is opposite to the right foot riding motion,and is a motion to bring about a state that the left foot is put on theload controller 36 while the right foot is put down on the ground asshown in FIG. 11(C). The condition of the ratio is 25 to 75%, and thecondition of the position of the center of gravity is 31 1.0 to −0.01.

A left thigh lifting motion is a motion to bring about a state that theright foot is put on the load controller 36 while the left thigh islifted as shown in FIG. 12(B). The condition of the ratio is equal to ormore than 100%, and the condition of the position of the center ofgravity is +0.01 to +1.0. When the left thigh is swung up on the loadcontroller 36, the right foot is depressed. Thus, a load more than allthe player's body weigh is put on the right foot, so that a load valuelarger than that when both feet are merely put on the load controller36, that is, a load value larger than the body weight value is detected.This makes it possible to discriminate a motion of merely putting onefoot or both feet from a thigh lifting motion.

The right thigh lifting motion is reverse to the left thigh liftingmotion, and is a motion to bring about a state that the left foot is puton the load controller 36 while the right thigh is lifted. The conditionof the ratio is equal to or more than 100%, and the condition of theposition of the center of gravity is −1.0 to −0.01.

A both feet putting down motion is a motion to bring about a state thatboth of the feet are put on the ground as shown in FIG. 11(D) and FIG.12(D). The condition of the ratio is equal to or less than 5%(approximately zero). Since both of the feet are not put on the loadcontroller 36, the load becomes approximately zero. Accordingly, aposition of the center of gravity is not considered.

By calculating the ratio of the load values to the body weight value andthe position of the center of gravity, and then referring to the motionidentifying condition table, which motion is performed can be specifiedout of the plurality of motions registered in advance.

It should be noted that the numerical values shown in FIG. 13 are oneexample and can be changed as necessary. As described above, differencesoccur in the ratio of the load values and the position of the center ofgravity due to a habit by the player, etc. Thus, before actually doingthe exercise, the player has a measurement test, etc. of each motion tothereby allow an adjustment of a condition value for each player.

FIG. 14 shows one example of the game screen. At the center in thehorizontal direction of the screen, a plurality of panels 400 forinstructing the player how to move are displayed. Each panel 400 shows apart of motion making up of the motions of the step-up-and-down exercisein this embodiment. The arrangement of the plurality (four in thisembodiment) of panels 400 in a predetermined order can inform the motionto be executed by the player in the step-up-and-down exercise as aseries of motions.

More specifically, in each panel 400, two right and left foot prints aredrawn, and by changing a color, a shape, a pattern, etc. of the footprints, a stepping up and down motion to be performed by the right andleft feet is represented. Additionally, as a basic manner of the panel400, a base color is drawn in white, and a line of the foot prints isdrawn in gray, for example. If no motion is required to be executed, thepanel 400 in this basic manner is used.

In FIG. 14, a series of motions of the step-up-and-down exercise shownin FIG. 11 is instructed by four panels 400 a-400 d. The panel 400 a isa panel for instructing the player to put a right foot on as a firststep as shown in FIG. 11(A). For example, the foot print of the rightfoot is represented in red to show that the right foot is ridden from astate that no foot is ridden. The panel 400 b is a panel for instructingthe player to put the left foot on as a second step as shown in FIG.11(B). For example, the left foot print is colored red, and the red ofthe right foot print is paled. This shows that the left step is furtherridden from the state that the right foot is ridden. The panel 400 c isa panel for instructing the player to put the right foot down as a thirdstep as shown in FIG. 11(C). For example, the red of the left foot printis paled, and a red down arrow is drawn on the right foot print. Thisshows that the right foot is put down rearward from a state that both ofthe feet are ridden. The panel 400 d is a panel for instructing theplayer to put the left foot down as a fourth step as shown in FIG.11(D). For example, a red down arrow is drawn on the left foot print.This shows that the left foot is put down rearward in a state that theleft foot is ridden.

Each panel 400 is constructed so as to sequentially appear from theupper end of the screen, move down, and disappear to the lower end ofthe screen. At a predetermined position below the center of the screen,a frame 402 is fixedly arranged. The frame 402 is provided on the movingpath of the panels 400, and the panel 400 is stopped within the frame402 for a set amount of time. The frame 402 can show the panel 400 tocurrently be executed. The panel 400 moving into the position of theframe 402 out of the plurality of panels 400 indicates a motion to becurrently executed.

In addition, on the screen, a plurality of characters 404 are displayedat the right and left of the panel 400, for example. These characters404 are controlled so as to make their motions according to theinstruction by the panel 400 and the frame 402. In FIG. 14, since thepanel 400 a moves into the frame 402, each of the characters 404performs a motion of putting the right foot on the board. By the actionof each of the characters 404, it is possible to confirm the motioninstructed on the panel 400.

In the game apparatus 12, from the load values detected by the loadcontroller 36, a ratio of the load values to the body weight value and aposition of the center of gravity are calculated, and on the basis ofthe motion identifying condition table shown in FIG. 13 described above,which motion is performed is specified out of the plurality ofregistered motions. Then, whether or not the specified motion is amotion to be currently executed which is instructed by the frame 402 isdetermined. If it is decided that a motion according to the instructionis performed, a score is given to the player.

Additionally, in a case that the step-up-and-down exercise including athigh lifting motion is instructed, a panel 400 shown in FIG. 15 isdisplayed. On the panel 400, a step-up-and-down exercise including aleft thigh lifting motion shown in FIG. 12 is instructed. Since red isutilized in the motion of the above-described normal step-up-and-downexercise, a different color such as green is utilized for a motion oflifting a thigh. More specifically, the panel 400 b at the second stepis for instructing to lift the left thigh, and the color of the leftfoot print is made green, for example. In addition, in order to showthat the foot is completely lifted, the left foot print is shaded.Furthermore, the panel 400 c at the third step is for instructing amotion of putting the lifted left thigh down, and a green down arrow isdrawn on the left foot print, for example. Additionally, the panel 400 aat the first step is the same as the panel 400 a at the first step ofthe normal step-up-and-down exercise shown in FIG. 14 and is forinstructing a motion of putting the right foot on, and the right footprint is shown by red. Furthermore, the panel 400 d at the fourth stepis for instructing to put the right foot down, and a red down arrows isdrawn on the right foot print.

Furthermore, on the game screen in FIG. 14, the player is instructed toexecute the step-up-and-down exercise in FIG. 11. However, in the gameapparatus 12, on the basis of the motion identifying condition tableshown in FIG. 13, it is possible to specify which motion is performedout of the predetermined number of motions. Accordingly, not only eitherof the panel 400 (FIG. 14) for instructing the normal step-up-and-downexercise in FIG. 11 and a panel 400 (FIG. 15) for instructing astep-up-and-down exercise including a thigh lifting motion in FIG. 12 isdisplayed on the screen to thereby allow the player to perform the onlydisplayed step-up-and-down exercise, but also both of the panels maysimultaneously be displayed, for example, to allow the player to performa favorable step-up-and-down exercise. In general, there are differencesin the motion at second step and the motion at the third step betweenthe step-up-and-down exercise and the step-up-and-down exerciseincluding a thigh lifting motion. However, load values of the loadcontroller 36 are detected, and a ratio of the detected load values tothe body weight value and a position of the center of gravity arecalculated. Then, by making a determination on the basis of thecalculated ratio and the position of the center of gravity, it ispossible to determine which motion is performed as to the motion at thesecond step and the motion at the third step. In this case, since eachmotion can be specified, by storing the history of the specifiedmotions, it is possible to specify a series of motions performed by theplayer. For example, whether the normal step-up-and-down exercise or thestep-up-and-down exercise including a thigh lifting motion can bespecified, and whether a stepping up and down exercise started from theright foot or the left foot can also be specified.

In order to specify a motion on the basis of the motion identifyingcondition table shown in FIG. 13 with accuracy, in an instruction of amotion on the screen as shown in FIG. 14, timing suitable for executingeach motion is shown in this embodiment. Then, according to the timing,load values are detected for motion identification.

More specifically, timing of a motion is shown by a state of themovement of the panel 400 as shown in FIG. 16. As described above, theplurality of panels 400 are controlled so as to move from top to bottomin a predetermined alignment on the screen, and stop within the frame402 for a set amount of time, so that a panel 400 moving from top stopsfor a set amount of time in a state that it is adjacent to the frame402, and then starts moving into the frame 402.

Then, the panel 400 is stopped within the frame 402 when a predeterminedtime PS elapses from the start of the movement, and then continues to bestopped until the predetermined time TA. After lapse of thepredetermined time TA, the panel 400 starts to move again. By themovement, the panel 400 moves outside the frame 402 and the next panel400 start to enter into the frame 402.

The provision of the stopping period to the movement of the panels canclearly show the player when an instruction of each motion is startedand ended. The motion instructed to the player by the panel 400 isrequired to be executed from when the panel 400 stars entering into theframe 402 to when the panel 400 starts going out from the frame 402.Thus, a time limit is prepared for the judgment of the motion, and thetime limit is decided to be a suitable value in advance as asuccess-or-failure judgment time TA. The success-or-failure judgmenttime (time limit) TA is set to a suitable value depending on how fastthe player is made to perform the motion of stepping up and down, forexample.

The panel stopping time PS is set to a proper value in advance byexperiments, etc. so as to be timing suitable for a motion of steppingup and down, for example. For example, the timing when the foot movingfor stepping up and down accurately touches the load controller 36 orthe ground (floor) and the timing of starting to swing up the foot forlifting the thigh may be adopted. Thus, the player can perform a motionaccording to the moving state of the panels 400 such that he or she putsthe foot down and on another place while the panels 400 move, andcompletely puts the foot on to finish the motion and adjusts a posturein order to prepare for a next motion while the panels 400 stop, or heor she moves the body to the load controller 36 to prepare for a thighlifting motion while the panels 400 move and finishes the thigh liftingmotion while the panels 400 stop.

Then, an identification of the motion is performed from when a presettime, that is, the panel stopping time PS elapses from the start of themovement. This makes it possible to detect load values when the playerfinishes the motion, and identify the motion on the basis of appropriateload values capable of enhancing the accuracy of the identification.

If the motion is not specified until the time limit TA expires, if thespecified motion is not the instructed motion, and so forth, it isdecided that the execution of the instructed motion fails. If it is afailure judgment, the player is not scored.

On the other hand, if it is decided that the instructed motion isperformed by the time when the time limit TA expires, it is decided thatthe execution of the instructed motion succeeds, and the player isscored.

FIG. 17 shows one example of a memory map of the game apparatus 12. Thememory map includes a program memory area 500 and a data memory area502. The program and the data are read from the optical disk 18 entirelyat a time, or partially and sequentially as necessary so as to be storedinto the external main memory 46 or the internal main memory 42 e.Furthermore, in the data memory area 502, data generated or fetched bythe processing is also stored. The program is a load detecting programfor making the game system 10 function as a load detecting apparatus.

FIG. 17 shows only a part of the memory map, and other programs and datanecessary for processing are also stored. For example, sound data foroutputting a sound such as a voice, a sound effect, music, etc., imagedata for generating a screen, a sound output program, an imagegenerating and displaying program, etc. are read from the optical disk18, and stored in the data memory area 502 or the program memory area500. It should be noted that in this embodiment, the program and thedata are read from the optical disk 18, but in another embodiment, aprogram and data stored in advance in a nonvolatile storage medium suchas the flash memory 44, etc. incorporated in the game apparatus 12 maybe read so as to be stored in the external main memory 46 or theinternal main memory 42 e. At this time, a program, etc. downloaded viaa network by utilizing the wireless communication module 50 of the gameapparatus 12 or a communication module connected to the expansionconnector 60 of the game apparatus 12 may be stored in the storagemedium.

A memory area 504 stores a load value detecting program. The program isfor detecting load values of the load controller 36. For example, when aload is required, a load obtaining command is transmitted to the loadcontroller 36 via the wireless controller module 52, and load values ofthe respective load sensors 36 b are detected from the data of the loadcontroller 36 received in the radio controller module 52. At a time of ajudgment of the motion, load values are fetched at an interval of aconstant period, such as one frame (1/60 seconds), for example.

A memory area 506 stores a motion instructing program. The program isfor instructing a player of a motion to be executed. The movements andstops of the plurality of panels 400 for instructing a series of motionsare controlled on the basis of the time limit TA and the panel stoppingtime PS as described above.

A memory area 508 stores an elapsed time counting program. The programis for counting the time elapsed from when an instruction of a motion isgiven. More specifically, the time when a panel 400 starts to move fromthe position upwardly adjacent to the frame 402 into the frame 402 isthe time when the motion corresponding to the panel 400 is instructed,and therefore, the time is counted from when the panel 400 starts tomove into the frame 402.

A memory area 510 stores a load ratio calculating program. The programis for calculating a ratio of detected load values to a body weightvalue. The load values of the respective load sensors 36 b are sum up,and by dividing the total value with the body weight value, the ratio iscalculated.

A memory area 512 stores a position of the center of gravity calculatingprogram. The program is for calculating a position of the center ofgravity of the detected load values. The position of the center ofgravity is calculated according to Equation 1 or Equation 2 describedabove.

A memory area 514 stores a motion determining program. The program isfor specifying which motion is performed out of the predetermined numberof motions on the basis of the calculated ratio of the load values, theposition of the center of gravity, and a motion identifying table.

A memory area 516 of the data memory area 502 stores a body weight valueof the player. The body weight value is calculated by summing loadvalues of all the load sensors 36 b detected when the player rides onthe load controller 36 in a still state. Additionally, when the bodyweight value is measured, a screen for instructing the player to calmlyride on the load controller 36 with both feet is displayed.

A memory area 518 stores a time counter. The time counter is a counterfor counting an elapsed time from when an instruction of each motion isgiven. In this embodiment, the count is performed at an interval of apreset time (1 frame).

A memory area 520 stores an elapsed time counted by the elapsed timecounting program. An elapsed time from an instruction of each motion ofthe step-up-and-down exercise is calculated on the basis of the value ofthe time counter and stored.

A memory area 522 stores load values of the respective load sensors 36 bdetected by the load detecting program.

A memory area 524 stores a ratio of load values to a body weight valuecalculated by the load ratio calculating program. A memory area 526stores a position of the center of gravity calculated by the position ofthe center of gravity calculating program.

A memory area 528 stores a motion identifying condition table read fromthe optical disk 18, etc. The motion identifying condition table storesconditions for determining a predetermined number of motions as shown inFIG. 13. More specifically, each of the conditions of the ratio of theload values to the body weight value and each of the conditions relatingto the position of the center of gravity are brought into correspondencewith identification information of each motion. When a motiondetermination is made, with reference to the table, a motion satisfyingthe both conditions of the ratio and the position of the center ofgravity is detected to thereby specify the motion performed by theplayer.

A memory area 530 stores identification information of a motionspecified by the motion determining program. Here, in a case that nomotion can be specified, data indicating impossibility of specificationis stored.

A memory area 532 stores a panel stopping time PS indicating a timeduring which the instruction panel 400 is stopped. A memory area 534stores a time limit TA for determining a motion to be currentlyexecuted. The panel stopping time PS and the time limit TA are read fromthe optical disk 18.

A memory area 536 stores a result of the game. As a game result, a scoreof the player, an evaluation (OK or failure), etc. of the respectivemotions are stored.

FIG. 18 shows one example of a motion of the game apparatus 12 when astep-up-and-down exercise is executed. In a step S1, the CPU 40 executesbody weight value measuring processing. Load values of the respectiveload sensors 36 b when the player rides on the load controller 36 in astill state are detected. More specifically, the CPU 40 transmits a loadobtaining command to the load controller 36 via the wireless controllermodule 52, etc. In response thereto, the microcomputer 100 of the loadcontroller 36 detects load values of the respective load sensors 36 b,and transmits input data including the respective load values to thegame apparatus 12 via the wireless module 106, etc. The CPU 40 receivesthe input data including the respective load values via the wirelesscontroller module 52, etc., and detects the respective load values so asto store the same in the memory area 522. Then, a body weight value iscalculated by summing all the load values of all the load sensors 36 b.Additionally, a screen for instructing the player to ride on the loadcontroller 36 with both feet may be displayed on the monitor 34.

In a succeeding step S3, the CPU 40 writes the body weight value to theexternal main memory 46. Thus, the body weight value of the player isstored in the memory area 516.

Then, in a step S5, the CPU 40 displays the instruction panels 400. Morespecifically, the CPU 40 generates a game screen shown in FIG. 14including the instruction panels 400 by utilizing the GPU 42 b, etc. ofthe system LSI 42 to display the same on the monitor 34. Here, asdescribed above, each of the panels 400 for instructing each motion ofthe step-up-and-down exercise is displayed at a predetermined initialposition at the top of the center of the screen in a predetermined orderand downwardly moves toward the frame 402 while including constantstopped times. The control of the movement from the time when the motionof each panel 400 becomes a motion to be currently executed is startedin the motion determination processing, and therefore, in the step S5,the processing is executed until the first instruction panel 400 isstopped upwardly adjacent to the frame 402.

Succedingly, in a step S7, the CPU 40 executes motion determiningprocessing. By the motion determining processing, a motion performed onthe load controller 36 by the player is specified. FIG. 19 shows oneexample of an operation of the CPU 40 in the motion determiningprocessing.

When starting the motion determining processing, the CPU 40 startsmovement processing of the instruction panels 400 according to themotion instruction program in a step S31. The movement processing of thepanels 400 started in the step S31 is executed in parallel with anotherprocessing in FIG. 19. By the movement processing of the panel 400, apanel 400 for instructing a motion to be currently executed moves fromthe position upwardly adjacent to the frame 402 into the frame 402.Here, at a start of the movement processing, a motion corresponding tothe panel 400 at the position upwardly adjacent to the frame 402 is amotion to be currently executed. Although omitted in FIG. 19, beforestarting the movement processing, the panel 400 positioned upwardlyadjacent to the frame 402 is detected by checking the coordinate data ofthe adjacent position stored in advance and coordinate data indicating acurrent position of each panel 400, and the identification informationof the motion corresponding to the detected panel 400 is detected andstored as identification information of the motion to be currentlyexecuted. Furthermore, in the movement processing, as shown in FIG. 16,the panel 400 corresponding to the motion to be currently executed iscontrolled so as to enter into the frame 402 and stopped when apredetermined time PS elapses from the start of the movement andcontinue to be stopped within the frame 402 until the predetermined timeTA elapses from the start of the movement.

The processing in succeeding steps S33-S49 are executed at a setintervals of times (one frame) until it is decided that a motion isspecified in the step S47, or until it is decided that a motion is notperformed within the time limit in the step S49.

In the step S33, the CPU 40 executes time counting processing. Forexample, by incrementing the time counter, the value of the time counterof the memory area 518 is updated. By the time counting processing, itis possible to count an elapsed time from when the motion instruction isgiven.

In the succeeding step S35, the CPU 40 detects an elapsed time from thestart of the movement of the instruction panels 400 on the basis of thevalue of the time counter in the memory area 518 and stores the same inthe memory area 520.

Then, in the step S37, the CPU 40 decides whether or not the elapsedtime is equal to or more than the panel stopping time PS. That is, byutilizing the panel stopping time PS set to timing suitable for a motionof putting a foot on and down from the board, it is decided whether ornot timing suitable for a determination of the motion has come. Thus, itis possible to prevent a determination of a motion from being performedon the basis of the load values detected before finish of the motion,for example, capable of enhancing accuracy of the identification. If“NO” in the step S37, the determination timing of the motion has notcome, and therefore, the process returns to the step S33.

On the other hand, if “YES” in the step S37, that is, if it is decidedthat the determination timing of the motion has come, the CPU 40executes load value fetching processing in the step S39. Morespecifically, the CPU 40 transmits a load obtaining command to the loadcontroller 36 via the wireless controller module 52, etc. In responsethereto, input data including the detected load values is transmittedfrom the load controller 36. Thus, The CPU 40 detects the load values ofthe respective load sensors 36 b from the input data received by thewireless controller module 52, and stores the same in the memory area522.

In the succeeding step S41, the CPU 40 calculates a ratio of thedetected load values to the body weight value. More specifically, theload values of the respective load sensors 36 b are summed, and theratio of the total value to the body weight value is calculated so as tobe stored in the memory area 524.

Furthermore, in the step S43, the CPU 40 calculates a position of thecenter of gravity. More specifically, a position of the center ofgravity is calculated on the basis of the load values of the respectiveload sensors 36 b according to the above-described Equation 1 so as tobe stored in the memory area 526.

Then, in the step S45, the CPU 40 specifies a motion satisfying the bothconditions of the ratio and the position of the center of gravity on thebasis of the motion identifying condition table in the memory area 528.More specifically, a motion in which the ratio in the memory area 524satisfies the condition of the ratio of the motion identifying conditiontable is detected, and a motion in which the position of the center ofgravity of the memory area 526 satisfies the condition of the positionof the center of gravity in the motion identifying condition table isdetected. Then, the motion detected on the basis of both of theconditions is detected. It should be noted that the specifyingprocessing may be performed on all the motions registered in the motionidentifying condition table, or the specifying processing may beperformed on the motions of the plurality of panels 400 displayed on thescreen out of the motions registered in the motion identifying conditiontable.

Succeedingly, in the step S47, the CPU 40 decides whether or not amotion is specified. If “NO” in the step S47, that is, if there is nomotion satisfying both conditions of the ratio and the position of thecenter of gravity, the CPU 40 decides whether or not the predeterminedtime TA elapses with reference to the elapsed time in the memory area520 in the step S49. If “NO” in the step S49, that is, if the elapsedtime falls within the time limit TA, the process returns to the stepS33.

On the other hand, if “YES” in the step S47, that is, if a motionsatisfying both conditions of the ratio and the position of the centerof gravity is detected, the CPU 40 stores identification information ofthe specified motion in the memory area 530 in a step S51.

Furthermore, if “YES” in the step S49, that is, if a motion is notspecified even after a lapse of the time limit TA, the CPU 40 storesdata indicating impossibility of specification in the memory area 530 ina step S53. After completion of the step S51 or the step S53, the motiondetermining processing is ended, and the process returns to the step S9in FIG. 18.

In the step S9 in FIG. 18, the CPU 40 decides whether or not thespecified motion is a motion to be currently executed. The motion to becurrently executed is a motion instructed by the panel 400 locatedwithin the frame 402, and can be specified in the movement processing ofthe panels 400 which is started in the step S31 in FIG. 19 and executedin parallel therewith.

If “YES” in a step S9, that is, if the player makes the motion accordingto the instruction, the CPU 40 executes OK judgment processing in a stepS11. More specifically, the player is given with predetermined scores,and this is added to the scoring data of the player in the game resultmemory area 536. Furthermore, the evaluation data indicating the OKjudgment as to the motion to be currently executed is also stored in thememory area 536. Alternatively, the fact that the motion is OK may bedisplayed on the screen with letters of OK, etc. Further alternatively,a predetermined sound may be output from the speaker 34 a to inform thata motion is a right motion according to the instruction.

On the other hand, if “NO” in the step S9, that is, if a motiondifferent from the motion to be currently executed is specified or if nomotion can be specified, the CPU 40 executes failure judgment processingin a step S13. More specifically, the player is not given with scores.Furthermore, evaluation data indicating the failure judgment as to themotion to be currently executed is stored in the game result memory area536. In addition, a failure of the motion may be displayed on the screenby letters of FAILURE, etc.

In a step S15, the CPU 40 decides whether or not the game is to beended. For example, it is decided whether or not the step-up-and-downexercise is performed for a predetermined time period or at apredetermined number of times. Or, it is decided whether or notexecution of the instructed motion fails.

If “NO” in the step S15, the process returns to the step S7 to performmotion determining processing as to a next motion in thestep-up-and-down exercise. Additionally, as shown in FIG. 16 describedabove, the instruction panel 400 stops when a predetermined time PSelapses from when it starts to move into the frame 402, and theinstruction panel 400 starts to move outside the frame 402 when afurther predetermined time TA elapses. At the same time, an instructionpanel 400 of a next motion starts to move into the frame 402. That is,when the predetermined time TA elapses from when the previous panel 400starts to move, the next panel 400 starts to move to thereby instructthe player to when to move. Thus, execution of the motion determiningprocessing is waited until the predetermined time TA elapses from thestart of the movement of the previous instruction panel 400.

On the other hand, in a case that it is decided that the game endcondition is satisfied in the step S15, the CPU 40 executes game endprocessing in a step S17 to end the game processing of thestep-up-and-down exercise. For example, the sum of the scores obtainedby the successes of the respective motions of the step-up-and-downexercise is calculated, the score and a result of the evaluationcorresponding to the score are displayed, and so forth.

According to this embodiment, on the basis of a ratio of the load valuesdetected in the load controller 36 to the body weight value and aposition of the center of gravity, which motion is performed out of theplurality of motions set in advance is specified, and therefore, it ispossible to determine the motion of the player performed on the loadcontroller 36.

Additionally, in the above-described embodiment, after an elapsed timefrom when an instruction of a motion is given is equal to or more than apredetermined time (panel stopping time PS), load values are detected.Thus, a motion can be identified with high accuracy on the basis of theload values detected at a proper timing. However, in another embodiment,without the processing in the step S37 being performed, load values aredetected per unit of time (one frame, for example) from when aninstruction of a motion is performed to when a predetermined time (timelimit TA, for example) elapses. Then, on the basis of the load valuesdetected every unit of time, a motion may be identified. For example, ina case of making detection for each frame, load values during when eachmotion has not been completed are also detected, but by defining anidentification condition for each motion without overlapping, it ispossible to accurately specify a motion. Furthermore, the determinationmay be performed on the basis of the plurality of load values detectedfor a predetermined time without the determination being performed foreach detection. In this case, by identifying the plurality of loadvalues synthetically, it is possible to ensure the accuracy of thedetermination.

Furthermore, in each of the above-described embodiments, a motionsatisfying both of the condition of a ratio of load values to a bodyweight value and the condition of a position of the center of gravity isspecified, and if it is decided that the motion is a motion to becurrently executed (instructed motion), an OK judgment is performed.However, in another embodiment, whether or not an OK judgment isperformed on a motion in the past, that is, whether or not the playerproperly performed the motion in the past may further be decided. Inthis case, depending on whether or not a motion is performed in the pastby the player, it is possible to decide whether or not a current motioncan be executed. For example, it is possible to appropriately determinea motion necessary for a success of the execution of the past motion,etc.

More specifically, if “YES” in the step S9, it is decided whether or notthe evaluation data indicating the OK judgment is stored with referenceto the game result data as to the past motion. If “YES”, the OK judgmentprocessing in the step S11 is performed while if “NO”, the failurejudgment processing in the step S13 is performed. For example, if the OKjudgment is performed at least once or more out of the past threemotions, the OK judgment is performed on the current motion while if theOK judgment is not performed once, the failure judgment may be decided.In a case of a motion constructing a series of motions such as theabove-described step-up-and-down exercise, a fact that an OK judgmentmay be performed on at least one motion in the past, a predeterminedmotion or all the motions, etc. may be set as a condition. Morespecifically, in a case of the above-described step-up-and-downexercise, as to a motion at the fourth step of putting the foot down tobring about a state both of the feet are put down, the fact that the OKjudgment is performed on any one of the motions at the first to thirdsteps may be a condition of the OK judgment.

Furthermore, in each of the above-described embodiments, as anembodiment of a motion determination based on a ratio of the load valuesto the body weight value and a position of the center of gravity, whichmotion is executed out of the plurality of motions set in advance isspecified on the basis of a ratio of load values to a body weight valueand a position of the center of gravity. However, in another embodiment,whether or not a predetermined motion is performed may be determined onthe basis of a ratio of load values to a body weight value and aposition of the center of gravity. For example, in each of theabove-described embodiments, as shown in FIG. 14, in order to showproper timing for the motion to be currently executed, the panels 400and the frame 402 are displayed on the screen such that the movementsand stops of the panels 400 are controlled. Thus, as to the motioncorresponding to the panel 400 indicated by the frame 402, whether ornot both of the condition of the ratio of the load values to the bodyweight value and the condition of the position of the center of gravityare satisfied may be determined. This makes it possible to determinewhether or not the instructed motion is executed by the player.

FIG. 20 shows an operation of the CPU 40 of the game apparatus 12 inthis case of the embodiment. The difference between FIG. 20 and FIG. 18described above is points that the steps S9-S13 are deleted, and anoperation in the motion determining processing in the step S7 ischanged. The detail of the modified motion determining processing in astep S10 in FIG. 20 is shown in FIG. 21. Here, the respective judgmentprocessing in the step S11 and S13 in FIG. 18 are included in the motiondetermining processing in the step S101. In FIG. 20 and FIG. 21, thesame reference numerals are applied to the same processing as FIG. 18,so that the detailed description thereof is omitted here.

When starting motion determining processing in FIG. 21, in a step S111,the CPU 40 specifies a motion to be currently executed. A motioncorresponding to a panel 400 positioned upwardly adjacent to the frame402 is the motion to be currently executed. For example, as describedabove, the panel 400 positioned upwardly adjacent to the frame 402 isdetected by checking the coordinate data of the adjacent position storedin advance and coordinate data indicating a current position of eachpanel 400, and the identification information of the motioncorresponding to the detected panel 400 is detected and stored asidentification information of the motion to be currently executed. Inthe movement processing started in the step S31, the movement of theplurality of panels 400 including the panel 400 indicating the motion tobe currently executed is controlled as described above. As to the panel400 instructing the motion to be currently executed, the panel 400 iscontrolled such that the panel 400 starts to move into the frame 402,stops within the frame 402 when the predetermined time PS elapses fromthe start of the movement, and continues to stop within the frame 402until the predetermined time TA elapses from the start of the movement.

In the step S41, a ratio of the load values to the body weight value iscalculated, and in the step S43, a position of the center of gravity iscalculated. Then, the CPU 40 decides whether or not the condition of theratio and the condition of the position of the center of gravity as tothe motion to be currently executed are satisfied in a step 113. Morespecifically, since the identification information on the motion to becurrently executed has been detected in the step S111, the condition ofthe ratio and the condition of the position of the center of gravitycorresponding to the identification information are read from the motionidentifying condition table. Then, it is decided whether or not theratio calculated in the step S41 satisfies the read condition of theratio, and whether or not the position of the center of gravitycalculated in the step S43 satisfies the read condition of the positionof the center of gravity.

If “YES” in the step S113, that is, if it is decided that the motion tobe currently executed is executed by the player, CPU 40 executes an OKjudgment processing in the step S11. Here, the OK judgment processing issimilar to that in the step S11 shown in FIG. 18.

On the other hand, if “NO” in the step S113, that is, if it is notdecided that the motion to be currently executed is executed by theplayer, the CPU 40 decides whether or not a predetermined time TAelapses from the start of the movement in the step S31 in the step S49.If “YES” in the step S49, that is, if the motion to be currentlyexecuted is not executed by the player after a lapse of the time limitTA, the CPU 40 executes failure judgment processing in the step S13.Here, the failure judgment processing is similar to that in the step S13shown in FIG. 18. After completion of the step S11 or S13, the motiondetermining processing in FIG. 21 is ended, and the process returns tothe step S15 in FIG. 20.

Additionally, in each of the embodiment in FIG. 20 and FIG. 21, asdescribed above, load values are detected from when an instruction of amovement is performed to when a predetermined time (time limit TA, forexample) elapses per unit of time (one frame, for example), and a motionmay be determined on the basis of the detected load values for everyunit of time. In this case, unlikely to the embodiment in FIG. 18 andFIG. 19 described above, whether or not a predetermined motion(instructed motion) is performed is determined, and therefore, as to anidentification condition for each motion, it is possible to allow anoverlapping with another motion, capable of broadly setting a conditionin view of a habit, etc. of an individual, for example.

In addition, in each of the embodiment in FIG. 20 and FIG. 21, asdescribed above, whether or not an OK judgment is performed on the pastmotion, that is, whether or not the player properly performed the motionin the past as well as both of the conditions of the ratio and theposition of the center of gravity can further be decided. Morespecifically, if “YES” in the step S113, with reference to the gameresult data as to the past motion, whether or not the evaluation dataindicating the OK judgment is stored may be decided, and if “YES” here,the OK judgment processing in the step S11 is performed, and if “NO”,the failure judgment processing in the step S13 is performed. Thecondition, such as motion as a judgment object and the necessary numberof OK judgments, etc. can be set as necessary as described above. Forexample, as to a motion at the fourth step in the step-up-and-downexercise, at the judgment timing of the motion at the fourth step, it isdetermined that both of the feet are put down on the basis of thecondition of the ratio. Thus, by further deciding whether or not themotions at the first-third steps in the past are performed, it ispossible to prevent the score from being given to the player in spite ofthe fact that the player has never put on the load controller 36.

Although the present invention has been described and illustrated indetail, it is clearly understood that the same is by way of illustrationand example only and is not to be taken by way of limitation, the spiritand scope of the present invention being limited only by the terms ofthe appended claims.

1. A storage medium storing a load detecting program to be executed in acomputer of a load detecting apparatus provided with a support boardwhich has two or more load sensors spaced with each other, and on whicha player puts his or her foot, said load detecting program causes saidcomputer to execute: a load value detecting step for detecting loadvalues put on said support board measured by said load sensor; a ratiocalculating step for calculating a ratio of said load values detected bysaid load detecting step to a body weight value of said player; aposition of the center of gravity calculating step for calculating aposition of the center of gravity of said load values detected by saidload detecting step, and a motion determining step for determining amotion performed on said support board by said player on the basis ofsaid ratio and said position of the center of gravity.
 2. A storagemedium storing a load detecting program according to claim 1, whereinsaid motion determining step determines whether or not a predeterminedmotion is performed on the basis of said ratio and said position of thecenter of gravity.
 3. A storage medium storing a load detecting programaccording to claim 2, wherein said motion determining step furtherdecides that it is determined that said predetermined motion in a pastis performed in said motion determining step in a past as adetermination condition.
 4. A storage medium storing a load detectingprogram according to claim 2, wherein said load detecting program causessaid computer to further execute: an instructing step for instructingsaid player to perform any one motion out of a plurality of motions assaid predetermined motion, and an elapsed time counting step forcounting an elapsed time from when an instruction is given in saidinstructing step, wherein said motion determining step determineswhether or not the motion instructed in said instructing step isperformed while said elapsed time falls within a predetermined time. 5.A storage medium storing a load detecting program according to claim 1,wherein said motion determining step specifies which motion is performedout of a plurality of motions set in advance on the basis of said ratioand said position of the center of gravity.
 6. A load detectingapparatus provided with a support board which has two or more loadsensors spaced with each other, and on which a player puts his or herfoot, comprising: a load value detecting means for detecting load valuesput on said support board measured by said load sensor; a ratiocalculating means for calculating a ratio of said load values detectedby said load detecting means to a body weight value of said player; aposition of the center of gravity calculating means for calculating aposition of the center of gravity of said load values detected by saidload detecting means, and a motion determining means for determining amotion performed on said support board by said player on the basis ofsaid ratio and said position of the center of gravity.